<?php
/**
 * PrynLib
 * @copyright 2007-2009 Prynel
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @category libPrynel
 * @package Log
 * @version $Revision: 103 $
 */

/**
 *
 * Classe de gestion des Logs
 * @version 2.0.0 
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @copyright  2007-2009 Prynel
 * @category libPrynel
 * @package Log
 * 
 *
 */
class Log_Log
{
	/**
	 * Driver d'ecriture du log
	 *
	 * @var Zend_Log_Writer_Abstract
	 */
	private $writer;
		
	/**
	 * Constructeur
	 * @param Zend_Log_Writer_Abstract $writer
	 */
	public function __construct($writer)
	{
		$this->writer = $writer;
	}
	
	/**
	 * Surcharge de l'appel de fonction permettant de 
	 * logguer des message avec les niveau en guise de methode.
	 * Exemple $obj->info($message);
	 *
	 * @param string $method
	 * @param array $param
	 */
	public function __call($method,$param)
	{
		$type = strtolower($method);
		$this->write(array_shift($param),$method);
	}
	
	/**
	 * Ecriture du log
	 *
	 * @param string $message
	 * @param int $niveau
	 */
	public function write($message,$niveau)
	{
		$this->writer->write($message,$niveau);
	}
}
 ?>